home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS26.ADF
/
SoundScape
/
Include
/
sampler.h
< prev
next >
Wrap
C/C++ Source or Header
|
1989-01-26
|
2KB
|
66 lines
/* SAMPLER.H
*
* (c) 12-20-85 Todor Fay
*/
struct EnvelopeInfo {
struct EnvelopeInfo *next;
unsigned char index;
struct IOAudio *startmsg, *loopmsg, *flushmsg;
unsigned char port;
unsigned char stage;
unsigned char value;
unsigned char channel;
long rate1, rate2, rate3, rate4;
long level1, leve2, level3;
unsigned short volume;
unsigned short period;
unsigned char amplitude;
char posslope;
long pad[8];
};
struct SoundData {
char *data;
UWORD loopstart;
UWORD loopend;
UWORD length;
UWORD start;
};
struct ChannelData {
int rate1, rate2, rate3, rate4;
int level1, level2, level3;
long pad[8]; /* Future expansion! */
unsigned short sensitivity;
unsigned short start;
unsigned short loopstart;
unsigned short loopend;
unsigned short pbendamount; /* Current pitchbend index. */
unsigned short pbendrange; /* Current pitchbend range. */
short tune; /* Tuning factor. */
struct SoundData sounddata[10];
unsigned short pbend[129]; /* Tuned, scaled pitchbend. */
char name[20];
char transpose;
char status;
char type;
};
#define CD_TMASK 0x0F
#define CD_DOLOOPS 0x10
#define CD_DOUBLE 0x20
#define CD_SAVED 0x40
#define CD_MARK 0x80
#define CD_EMPTY 0x00
struct SamplerState {
long length;
char namesfile[40];
struct ChannelData *channeldata[16];
struct Envelopeinfo *envelopeinfo;
struct MsgPort *soundport;
long addchannel;
};